// 写两个函数，分别求两个整数的最大公约数和最小公倍数，
// 用主函数调用这两个函数，并输出结果两个整数由键盘输入
// 参考 1011.c

#include<stdio.h>

int md(int m, int n){
    int maxdiv;
    for (int i=1;i<=m*n;i++){
        if(m%i==0 && n%i==0){
            maxdiv=i;
        }
    }
    return maxdiv;
}

int mm(int m, int n){
    int minmul;
    for (int j=1;j<=m*n;j++){
        if(j%m==0 && j%n==0){
            minmul=j;
            break;
        }
    }
    return minmul;
}

int main(){
    int a, b;
    scanf("%d%d", &a, &b);
    printf("%d %d", md(a, b), mm(a,b));
    return 0;
}